package cn.design;

import cn.design.realize.Intermediary;

/**
 * @author dlq
 * @description 外观模式客户端
 * @date 2020/9/21 10:23
 * @since 1.0
 */
public class FacadeClientDemo {
    public static void main(String[] args) {
        //故事背景
        //你现在工作，要在公司附近租一个房子,--重点： 你要租房子
        //租房子要做几件事:（假设只有这三件）
        //1. 找房子, 2.联系房东 3.签合同
        //如果你自己去的话不熟悉流程，就不好做
        //这个时候，你找到一个租房的中介，你只告诉中介我要租房子，
        // 中介需要做的是： 1. 帮客户找打中意的房子
        //               2.联系房子的房东
        //               3.签合同 --都帮你做完，这个中介就是外观模式


        //1.小明现在要去找房子
        //2.小明直接告诉中介我要找房子
        Intermediary intermediary = new Intermediary();
        intermediary.helpClientLookHouse("小明");


        //要做一个菜： 红烧肉,
        //  需要准备： 1.材料(肉,调味) ;2.餐具(锅,锅铲等); 3.做菜的手艺
        //  但是现在这些都没有，那直接我直接去饭店点一个红烧肉就行，不需要自己去准备这些，我只要告知给饭店我要红烧肉就行
        // 我 就是 client
        // 饭店就是一个中介
        // 1.材料(肉,调味) ;2.餐具(锅,锅铲等); 3.做菜的手艺 这些就是 需要的子系统
        // 红烧肉就是总系统

    }
}
